package us.wili.dev.netty.model;

public enum RequestCmd {
    /**
     * 跳心包
     */
    HEART_BEAT(1),
    /**
     * 加入群聊
     */
    JOIN_GROUP_CHAT(2),
    /**
     * 离线消息
     */
    OFFLINE_GROUP_MSG(3),
    /**
     * 在线群组消息发送
     */
    ONLINE_GROUP_MSG(4),
    /**
     * 离开群聊
     */
    LEFT_GROUP_CHAT(5),
    /**
     * 群主解散
     */
    CLOSE_GROUP_CHAT(6),

    /**
     * 游戏房间创建
     */
    ROOM_CREATE(101),
    /**
     * 加入游戏房间
     */
    ROOM_JOIN(102),

    /**
     * 房间详细信息
     */
    ROOM_DETAIL(103),

    /**
     * 游戏准备
     */
    GAME_PREPARE(104),

    /**
     * 游戏开始-房主
     */
    GAME_START(105),

    /**
     * 提出某人
     */
    GAME_KICK_PLAYER(106),

    /**
     * 解散游戏房间
     */
    GAME_DISMISS(107),

    /**
     * 离开房间
     */
    GAME_LEFT(108),

    /**
     * 到该玩家操作
     */
    GAME_PLAYER_TURN(109),

    /**
     * 玩家手牌
     */
    GAME_PLAYER_HANDPOKER(110),


    /**
     * 广播-加入游戏房间
     */
    DECLARE_ROOM_JOIN(201),

    /**
     * 发送公共牌
     */
    DECLARE_ROOM_COMMONCARD(202),

    /**
     * 玩家消息
     */
    DECLARE_ROOM_PLAYER_MSG(203),

    /**
     * 结算消息
     */
    DECLARE_ROOM_GAME_ENDCOUT(204),

    /**
     * 玩家下注
     */
    DECLARE_ROOM_GAME_DOWNBET(205),

    /**
     * 玩家弃牌
     */
    DECLARE_ROOM_GAME_FOLD(206)

    ;



    private Integer code;

    private RequestCmd(Integer code) {
        this.code = code;
    }

    public static RequestCmd get(Integer code) {
        if (code == null) {
            return null;
        }

        for (RequestCmd cmd : values()) {
            if (cmd.getCode().equals(code)) {
                return cmd;
            }
        }

        return null;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }
}
